package com.nmsl.system.exam_project.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.nmsl.common.annotation.Excel;
import com.nmsl.common.core.domain.BaseEntity;

/**
 * 检查项目对象 examination_project
 * 
 * @author gmh
 * @date 2025-02-17
 */
public class ExaminationProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private Long itemId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String itemName;

    /** 项目类别 */
    @Excel(name = "项目类别")
    private Long categoryId;

    /** 发票项目 */
    @Excel(name = "发票项目")
    private Integer isInvoice;

    /** 零售价（元） */
    @Excel(name = "零售价", readConverterExp = "元=")
    private BigDecimal retailPrice;

    /** 成本价（元） */
    @Excel(name = "成本价", readConverterExp = "元=")
    private BigDecimal costPrice;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 费用状态 */
    @Excel(name = "费用状态")
    private String status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 就诊记录id */
    private Long visitRecordId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setItemId(Long itemId) 
    {
        this.itemId = itemId;
    }

    public Long getItemId() 
    {
        return itemId;
    }
    public void setItemName(String itemName) 
    {
        this.itemName = itemName;
    }

    public String getItemName() 
    {
        return itemName;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setIsInvoice(Integer isInvoice) 
    {
        this.isInvoice = isInvoice;
    }

    public Integer getIsInvoice() 
    {
        return isInvoice;
    }
    public void setRetailPrice(BigDecimal retailPrice) 
    {
        this.retailPrice = retailPrice;
    }

    public BigDecimal getRetailPrice() 
    {
        return retailPrice;
    }
    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setCreationTime(Date creationTime) 
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() 
    {
        return creationTime;
    }
    public void setVisitRecordId(Long visitRecordId) 
    {
        this.visitRecordId = visitRecordId;
    }

    public Long getVisitRecordId() 
    {
        return visitRecordId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("itemId", getItemId())
            .append("itemName", getItemName())
            .append("categoryId", getCategoryId())
            .append("isInvoice", getIsInvoice())
            .append("retailPrice", getRetailPrice())
            .append("costPrice", getCostPrice())
            .append("unit", getUnit())
            .append("status", getStatus())
            .append("creationTime", getCreationTime())
            .append("visitRecordId", getVisitRecordId())
            .toString();
    }
}
